package com.gome.axwl.aoc.web.controller.mq.producer;

import com.cloudzone.cloudmq.api.open.base.Producer;
import com.cloudzone.cloudmq.api.open.base.SendResult;
import com.gome.commons.entity.MqEntity;

/**
 * 移动组扩展 GMQ producer 接口
 *
 * @author fukui
 */
public interface ImProducer extends Producer {


    /**
     * @param tag
     * @param b   消息序列化字节数组
     */
    SendResult send(String tag, byte[] b);


    /**
     * @param tag
     * @param b         消息序列化字节数组
     * @param messageId 消息唯一id
     */
    SendResult send(String tag, byte[] b, String messageId);

    /**
     * 发送消息实体
     *
     * @param tag
     * @param mqEntity
     * @return
     */
    SendResult send(String tag, MqEntity<?> mqEntity);

}
